みなさんへの告知板


オンラインゲームからは離れました。これからはリアルょぅι゛ょで頑張ろうと思います


ミジンコゼミナール


ネットゲーム解析初心者向け講座、ミジンコゼミナール 開講!

多重起動、窓化の基礎をしらんやつは見ておけ。
読んでも理解できないやつは解析以前の問題だから文句いうな('A`)

ミジンコゼミナール:ネットゲーム解析講座一覧
1日目:入学/必要な教材 2日目:基本的なアセンブリ言語
3日目:Ollydbg の操作方法と演習 4日目:多重起動1(FindWindow)
5日目:多重起動2(CreateMutex) 6日目:多重起動3(EnumWindows、その他の方法)
7日目:ウィンドウについて
8日目:窓化(D8) 9日目:窓化(D9)
10日目:DLL について 11日目:何か作ってみよう
12日目:試験 13日目:プレゼント

2007年03月08日


ただのめも2

ちゃんと見てみたら一つ前のスタックフレームに LpName の
サイズが積まれてるジャマイカ…('A`)

1つ目
0006FEE4 |7FFDEC00 UNICODE "Local\Microsoft_WMP_70_CheckForOtherInstanceMutex"
0006FEE8 |00000001
0006FEEC |00320031 ⇒ これ

>>下位2Byte、つまり 0x31 = LpName のサイズ。


いやいやその後に MAX_PATH って自分でいってるじゃん!
てかあれだ、もっとよくみたらちゃんと現在地点のスタックフレーム見るだけで
いいんじゃん。しょーがないからまとめて記事修正なんだぜ?凸(^w^


以下修正版:


とりあえず LpName が格納されている領域を確認。

7FFDEC00 4D 00 2D 00 43 00 72 00 65 00 61 00 74 00 65 00 M.-.C.r.e.a.t.e.
7FFDEC10 4D 00 75 00 74 00 65 00 78 00 00 00 77 00 53 00 M.u.t.e.x...w.S.

LpName は "M-CreateMutex" の 13Byte、つまり 0xD だ。

ただしそれぞれの間に 0x00 が入っているから D x 2 = 0x1A が総サイズとなる。

次にスタックを見てみる。

呼び出しがあった時のスタックフレームは ESP から EBP までの 64k。
結論からいうと、EBP - 0xC のスタックに LpName のサイズが入っている。

0012FF84 001C001A ⇒ EBP - 0xC
0012FF88 7FFDEC00 UNICODE "M-CreateMutex"
0012FF8C 7FFDF000
0012FF90 /0012FFB0 ⇒ EBP

ここでいうと 0012FF84 だが見てのとおり LpName のサイズ 1A が入っている。
上位ビットは 1C となってるけどこれはどう考えても文字の終端を表すために
+ NULL してるとしか思えない。
とりあえずこれでばっちり総サイズのチェックができる('A`)b

ちなみに LpName の最大値はやっぱり MAX_PATH みたい。


・260文字はおk

0012FFAC |00402000 ASCII "111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111
111111111111"

・261文字だとNG

0012EC30 |0012EC68 ASCII "CTF.LBES.MutexDefaultS-1-5-21-
42933632-2124368392-1501187911-624974"

あ〜、これで本当に解決だ…。


この記事へのコメント
はじめまして、
ミジンコゼミナールの1日目〜6日目を一通り読んだのですが、ここに書いてある多重起動の応用で最近のオンラインゲームなども多重起動することが出来るのでしょうか?
なんか変な質問で申し訳ないです。。。
Posted by 欄 at 2007年03月09日 18:12
>欄氏

ここに書いてある内容を理解して出来るものもあれば
出来ないものもあります。
というのも多重起動させない方法(裏返すと多重起動させる方法)
がこれ以上にあるからです。

でもまぁ、ある程度はいけるのでは?と思います。
Posted by sp at 2007年03月09日 19:28
sp様、回答ありがとうございます。
頑張ってみたいと思います。
しばらくこちらに通うと思いますので、また何かありましたらその時はよろしくお願いします。
でわ失礼します。
Posted by 欄 at 2007年03月10日 03:06
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。